Static Java Program Features for Intelligent Squash Prediction
نویسندگان
چکیده
The thread-level speculation paradigm parallelizes sequential applications at run-time, via optimistic execution of potentially independent threads. This enables unmodified sequential applications to exploit thread-level parallelism on modern multicore architectures. However a high frequency of data dependence violations between speculative threads can severely degrade the performance of thread-level speculation. Thus it is crucial to be able to schedule speculations to avoid excessive data dependence violations. Previous work in this area relies mainly on program profiling or simple heuristics to avoid thread squashes. In this paper, we investigate the use of machine learning to construct squash predictors based on static program features. On a set of standard Java benchmarks, with leave-one-out cross-validation, our approach significantly improves speculation performance for two benchmarks, but unfortunately degrades it for another two, in relation to a spawn-everywhere policy. We discuss how to advance research on squash prediction, directed by machine learning.
منابع مشابه
Using Static Code Features for Intelligent Squash Prediction
Thread-level speculation (TLS) is widely accepted to be a realistic model for execution of sequential programs on multi-core architectures. One problem with TLS occurs when large numbers of spawned threads are squashed due to data dependence violations. This can reduce or entirely obliterate the performance benefits of TLS. Until now, informal compiler heuristics or high-overhead runtime profil...
متن کاملImproving the Static Resolution of Dynamic Java Features
In Java software, two important flexibility mechanisms are dynamic class loading and reflection. Unfortunately, the vast majority of static analyses for Java handle these features either unsoundly or overly conservatively. Our work targets techniques that will increase static analyses’ ability to handle dynamic features in a more precise
متن کاملDiagnosis Prediction of Lichen Planus, Leukoplakia and Oral Squamous Cell Carcinoma by using an Intelligent System Based on Artificial Neural Networks
Introduction: Diagnosis, prediction and control of oral lesions is usually done classically based on clinical signs and histopathologic features. Due to lack of timely diagnosis in all conventional methods or differential diagnosis, biopsy of patient is needed. Therefore, the patient might be irritated. So, an intelligent method for quick and accurate diagnosis would be crucial. Intelligent sys...
متن کاملByte Code Engineering
The term “Java” is used to denote two different concepts: the language itself and the related execution environment, the Java Virtual Machine (JVM), which executes byte code instructions. Several research projects deal with byte code-generating compilers or the implementation of new features via byte code transformations. Examples are code optimization, the implementation of parameterized types...
متن کاملSawja: Static Analysis Workshop for Java
Static analysis is a powerful technique for automatic verification of programs but raises major engineering challenges when developing a full-fledged analyzer for a realistic language such as Java. Efficiency and precision of such a tool rely partly on low level components which only depend on the syntactic structure of the language and therefore should not be redesigned for each implementation...
متن کامل